<?php namespace Admin\Controller;
use Hdphp\Controller\Controller;
//商品分类控制器
class CategoryController extends CommonController{
	private $model;
//	构造方法
	public function __init(){
		parent::__init();
		$this->model = new \Admin\Model\Category;
	}
//	商品分类首页
	public function index(){
//		查询数据库
		$cateData = $this->model->get();
//		转变成树状结构
		$cateData = Data::tree($cateData,'cname');
//		sp($cateData);
//		分配变量
		View::with('cateData',$cateData);
		View::make();
	}
//	增加分类
	public function add(){
		if(IS_AJAX){
			if(!$this->model->store()){
				echo json_encode(array('status'=>false,'message'=>$this->model->getError()));
			}else{
				echo json_encode(array('status'=>true,'message'=>'添加成功~~'));
			}
			exit;
		}
//		获取所属类型
//		实例化类型模型
		$typeModel = new \Admin\Model\Type;
		$typeData = $typeModel->get();
//		sp($typeData);
//		分配变量
		View::with('typeData',$typeData);
		View::make();
	}
//	添加子类
	public function addSon(){
		$cid = Q('get.cid',0,'intval');
		if(IS_POST){
			if(!$this->model->store()) View::error($this->model->getError());
			View::success('添加子分类成功',U('index'));
		}
//		1、获取类型
//		关联类型表
		$typeModel = new \Admin\Model\Type;
		$typeData = $typeModel->get();
//		2、获取父级分类
		$cateData = $this->model->where("cid={$cid}")->find();
//		分配变量
		View::with('cateData',$cateData);
		View::with('typeData',$typeData);
		View::make();
	}
//	修改分类
	public function edit(){
//		获取修改第几个
		$cid = Q('get.cid',0,'intval');
//		2、提交修改
		if(IS_POST){
//			sp($_POST);exit;
			if(!$this->model->edit($cid)) View::error($this->model->getError());
//			修改成功
			View::success('修改成功',U('index'));
		}
//		1、获取旧数据
		$oldData = $this->model->where("cid={$cid}")->find();
//		sp($oldData);
//		2、获取类型数据，
		$typeData = Db::table("type")->get();
//		sp($typeData);
//		3、获取分类数据
		$cateData = $this->model->getNoMine($cid);
//		$cateData = $this->model->get();
//		sp($cateData);
//		分配变量
		View::with('cateData',$cateData);
		View::with('typeData',$typeData);
		View::with('oldData',$oldData);
		View::make();
	}
//	删除分类
	public function del(){
//		调用模型里面的方法，删除父级分类，自己分类要往上移动一级
		$this->model->del(Q('get.cid',0,'intval'));
//		删除，子级移动级别成功
		go(U('index'));
	}
}
 ?>